<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>decode_bar_code_rectangle2 [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_identification.html">Identification</a> / <a href="toc_identification_barcode.html">Bar Code</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">decode_bar_code_rectangle2</span><span data-if="c" style="display:none;">T_decode_bar_code_rectangle2</span><span data-if="cpp" style="display:none;">DecodeBarCodeRectangle2</span><span data-if="dotnet" style="display:none;">DecodeBarCodeRectangle2</span><span data-if="python" style="display:none;">decode_bar_code_rectangle2</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">decode_bar_code_rectangle2</span><span data-if="c" style="display:none;">T_decode_bar_code_rectangle2</span><span data-if="cpp" style="display:none;">DecodeBarCodeRectangle2</span><span data-if="dotnet" style="display:none;">DecodeBarCodeRectangle2</span><span data-if="python" style="display:none;">decode_bar_code_rectangle2</span></code> — Decode bar code symbols within a rectangle.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>decode_bar_code_rectangle2</b>(<a href="#Image"><i>Image</i></a> :  : <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, <a href="#CodeType"><i>CodeType</i></a>, <a href="#Row"><i>Row</i></a>, <a href="#Column"><i>Column</i></a>, <a href="#Phi"><i>Phi</i></a>, <a href="#Length1"><i>Length1</i></a>, <a href="#Length2"><i>Length2</i></a> : <a href="#DecodedDataStrings"><i>DecodedDataStrings</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_decode_bar_code_rectangle2</b>(const Hobject <a href="#Image"><i>Image</i></a>, const Htuple <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, const Htuple <a href="#CodeType"><i>CodeType</i></a>, const Htuple <a href="#Row"><i>Row</i></a>, const Htuple <a href="#Column"><i>Column</i></a>, const Htuple <a href="#Phi"><i>Phi</i></a>, const Htuple <a href="#Length1"><i>Length1</i></a>, const Htuple <a href="#Length2"><i>Length2</i></a>, Htuple* <a href="#DecodedDataStrings"><i>DecodedDataStrings</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>DecodeBarCodeRectangle2</b>(const HObject&amp; <a href="#Image"><i>Image</i></a>, const HTuple&amp; <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, const HTuple&amp; <a href="#CodeType"><i>CodeType</i></a>, const HTuple&amp; <a href="#Row"><i>Row</i></a>, const HTuple&amp; <a href="#Column"><i>Column</i></a>, const HTuple&amp; <a href="#Phi"><i>Phi</i></a>, const HTuple&amp; <a href="#Length1"><i>Length1</i></a>, const HTuple&amp; <a href="#Length2"><i>Length2</i></a>, HTuple* <a href="#DecodedDataStrings"><i>DecodedDataStrings</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HBarCode.html">HBarCode</a>::<b>DecodeBarCodeRectangle2</b>(const HImage&amp; <a href="#Image"><i>Image</i></a>, const HTuple&amp; <a href="#CodeType"><i>CodeType</i></a>, const HTuple&amp; <a href="#Row"><i>Row</i></a>, const HTuple&amp; <a href="#Column"><i>Column</i></a>, const HTuple&amp; <a href="#Phi"><i>Phi</i></a>, const HTuple&amp; <a href="#Length1"><i>Length1</i></a>, const HTuple&amp; <a href="#Length2"><i>Length2</i></a>) const</code></p>
<p>
<code>HString <a href="HBarCode.html">HBarCode</a>::<b>DecodeBarCodeRectangle2</b>(const HImage&amp; <a href="#Image"><i>Image</i></a>, const HString&amp; <a href="#CodeType"><i>CodeType</i></a>, double <a href="#Row"><i>Row</i></a>, double <a href="#Column"><i>Column</i></a>, double <a href="#Phi"><i>Phi</i></a>, double <a href="#Length1"><i>Length1</i></a>, double <a href="#Length2"><i>Length2</i></a>) const</code></p>
<p>
<code>HString <a href="HBarCode.html">HBarCode</a>::<b>DecodeBarCodeRectangle2</b>(const HImage&amp; <a href="#Image"><i>Image</i></a>, const char* <a href="#CodeType"><i>CodeType</i></a>, double <a href="#Row"><i>Row</i></a>, double <a href="#Column"><i>Column</i></a>, double <a href="#Phi"><i>Phi</i></a>, double <a href="#Length1"><i>Length1</i></a>, double <a href="#Length2"><i>Length2</i></a>) const</code></p>
<p>
<code>HString <a href="HBarCode.html">HBarCode</a>::<b>DecodeBarCodeRectangle2</b>(const HImage&amp; <a href="#Image"><i>Image</i></a>, const wchar_t* <a href="#CodeType"><i>CodeType</i></a>, double <a href="#Row"><i>Row</i></a>, double <a href="#Column"><i>Column</i></a>, double <a href="#Phi"><i>Phi</i></a>, double <a href="#Length1"><i>Length1</i></a>, double <a href="#Length2"><i>Length2</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HImage.html">HImage</a>::<b>DecodeBarCodeRectangle2</b>(const HBarCode&amp; <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, const HTuple&amp; <a href="#CodeType"><i>CodeType</i></a>, const HTuple&amp; <a href="#Row"><i>Row</i></a>, const HTuple&amp; <a href="#Column"><i>Column</i></a>, const HTuple&amp; <a href="#Phi"><i>Phi</i></a>, const HTuple&amp; <a href="#Length1"><i>Length1</i></a>, const HTuple&amp; <a href="#Length2"><i>Length2</i></a>) const</code></p>
<p>
<code>HString <a href="HImage.html">HImage</a>::<b>DecodeBarCodeRectangle2</b>(const HBarCode&amp; <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, const HString&amp; <a href="#CodeType"><i>CodeType</i></a>, double <a href="#Row"><i>Row</i></a>, double <a href="#Column"><i>Column</i></a>, double <a href="#Phi"><i>Phi</i></a>, double <a href="#Length1"><i>Length1</i></a>, double <a href="#Length2"><i>Length2</i></a>) const</code></p>
<p>
<code>HString <a href="HImage.html">HImage</a>::<b>DecodeBarCodeRectangle2</b>(const HBarCode&amp; <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, const char* <a href="#CodeType"><i>CodeType</i></a>, double <a href="#Row"><i>Row</i></a>, double <a href="#Column"><i>Column</i></a>, double <a href="#Phi"><i>Phi</i></a>, double <a href="#Length1"><i>Length1</i></a>, double <a href="#Length2"><i>Length2</i></a>) const</code></p>
<p>
<code>HString <a href="HImage.html">HImage</a>::<b>DecodeBarCodeRectangle2</b>(const HBarCode&amp; <a href="#BarCodeHandle"><i>BarCodeHandle</i></a>, const wchar_t* <a href="#CodeType"><i>CodeType</i></a>, double <a href="#Row"><i>Row</i></a>, double <a href="#Column"><i>Column</i></a>, double <a href="#Phi"><i>Phi</i></a>, double <a href="#Length1"><i>Length1</i></a>, double <a href="#Length2"><i>Length2</i></a>) const  <span class="signnote">
            (
            Windows only)
          </span></code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>DecodeBarCodeRectangle2</b>(<a href="HObject.html">HObject</a> <a href="#Image"><i>image</i></a>, <a href="HTuple.html">HTuple</a> <a href="#BarCodeHandle"><i>barCodeHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CodeType"><i>codeType</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Row"><i>row</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Column"><i>column</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Phi"><i>phi</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Length1"><i>length1</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Length2"><i>length2</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#DecodedDataStrings"><i>decodedDataStrings</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HBarCode.html">HBarCode</a>.<b>DecodeBarCodeRectangle2</b>(<a href="HImage.html">HImage</a> <a href="#Image"><i>image</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CodeType"><i>codeType</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Row"><i>row</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Column"><i>column</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Phi"><i>phi</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Length1"><i>length1</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Length2"><i>length2</i></a>)</code></p>
<p>
<code>string <a href="HBarCode.html">HBarCode</a>.<b>DecodeBarCodeRectangle2</b>(<a href="HImage.html">HImage</a> <a href="#Image"><i>image</i></a>, string <a href="#CodeType"><i>codeType</i></a>, double <a href="#Row"><i>row</i></a>, double <a href="#Column"><i>column</i></a>, double <a href="#Phi"><i>phi</i></a>, double <a href="#Length1"><i>length1</i></a>, double <a href="#Length2"><i>length2</i></a>)</code></p>
<p>
<code><a href="HTuple.html">HTuple</a> <a href="HImage.html">HImage</a>.<b>DecodeBarCodeRectangle2</b>(<a href="HBarCode.html">HBarCode</a> <a href="#BarCodeHandle"><i>barCodeHandle</i></a>, <a href="HTuple.html">HTuple</a> <a href="#CodeType"><i>codeType</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Row"><i>row</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Column"><i>column</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Phi"><i>phi</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Length1"><i>length1</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Length2"><i>length2</i></a>)</code></p>
<p>
<code>string <a href="HImage.html">HImage</a>.<b>DecodeBarCodeRectangle2</b>(<a href="HBarCode.html">HBarCode</a> <a href="#BarCodeHandle"><i>barCodeHandle</i></a>, string <a href="#CodeType"><i>codeType</i></a>, double <a href="#Row"><i>row</i></a>, double <a href="#Column"><i>column</i></a>, double <a href="#Phi"><i>phi</i></a>, double <a href="#Length1"><i>length1</i></a>, double <a href="#Length2"><i>length2</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>decode_bar_code_rectangle2</b>(<a href="#Image"><i>image</i></a>: HObject, <a href="#BarCodeHandle"><i>bar_code_handle</i></a>: HHandle, <a href="#CodeType"><i>code_type</i></a>: MaybeSequence[str], <a href="#Row"><i>row</i></a>: MaybeSequence[Union[int, float]], <a href="#Column"><i>column</i></a>: MaybeSequence[Union[int, float]], <a href="#Phi"><i>phi</i></a>: MaybeSequence[Union[int, float]], <a href="#Length1"><i>length_1</i></a>: MaybeSequence[Union[int, float]], <a href="#Length2"><i>length_2</i></a>: MaybeSequence[Union[int, float]]) -&gt; Sequence[str]</code></p>
<p>
<code>def <b>decode_bar_code_rectangle2_s</b>(<a href="#Image"><i>image</i></a>: HObject, <a href="#BarCodeHandle"><i>bar_code_handle</i></a>: HHandle, <a href="#CodeType"><i>code_type</i></a>: MaybeSequence[str], <a href="#Row"><i>row</i></a>: MaybeSequence[Union[int, float]], <a href="#Column"><i>column</i></a>: MaybeSequence[Union[int, float]], <a href="#Phi"><i>phi</i></a>: MaybeSequence[Union[int, float]], <a href="#Length1"><i>length_1</i></a>: MaybeSequence[Union[int, float]], <a href="#Length2"><i>length_2</i></a>: MaybeSequence[Union[int, float]]) -&gt; str</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">decode_bar_code_rectangle2</span><span data-if="c" style="display:none">decode_bar_code_rectangle2</span><span data-if="cpp" style="display:none">DecodeBarCodeRectangle2</span><span data-if="com" style="display:none">DecodeBarCodeRectangle2</span><span data-if="dotnet" style="display:none">DecodeBarCodeRectangle2</span><span data-if="python" style="display:none">decode_bar_code_rectangle2</span></code> uses the bar code
model specified by <a href="#BarCodeHandle"><i><code><span data-if="hdevelop" style="display:inline">BarCodeHandle</span><span data-if="c" style="display:none">BarCodeHandle</span><span data-if="cpp" style="display:none">BarCodeHandle</span><span data-if="com" style="display:none">BarCodeHandle</span><span data-if="dotnet" style="display:none">barCodeHandle</span><span data-if="python" style="display:none">bar_code_handle</span></code></i></a> to decode a bar code at
a given position within the image <a href="#Image"><i><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></i></a>.
<a href="#BarCodeHandle"><i><code><span data-if="hdevelop" style="display:inline">BarCodeHandle</span><span data-if="c" style="display:none">BarCodeHandle</span><span data-if="cpp" style="display:none">BarCodeHandle</span><span data-if="com" style="display:none">BarCodeHandle</span><span data-if="dotnet" style="display:none">barCodeHandle</span><span data-if="python" style="display:none">bar_code_handle</span></code></i></a> must be created with
<a href="create_bar_code_model.html"><code><span data-if="hdevelop" style="display:inline">create_bar_code_model</span><span data-if="c" style="display:none">create_bar_code_model</span><span data-if="cpp" style="display:none">CreateBarCodeModel</span><span data-if="com" style="display:none">CreateBarCodeModel</span><span data-if="dotnet" style="display:none">CreateBarCodeModel</span><span data-if="python" style="display:none">create_bar_code_model</span></code></a>, its parameters can be set with
<a href="set_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">set_bar_code_param</span><span data-if="c" style="display:none">set_bar_code_param</span><span data-if="cpp" style="display:none">SetBarCodeParam</span><span data-if="com" style="display:none">SetBarCodeParam</span><span data-if="dotnet" style="display:none">SetBarCodeParam</span><span data-if="python" style="display:none">set_bar_code_param</span></code></a>. The position of the bar code is given
as an arbitrarily oriented rectangle. Contrary to
<a href="find_bar_code.html"><code><span data-if="hdevelop" style="display:inline">find_bar_code</span><span data-if="c" style="display:none">find_bar_code</span><span data-if="cpp" style="display:none">FindBarCode</span><span data-if="com" style="display:none">FindBarCode</span><span data-if="dotnet" style="display:none">FindBarCode</span><span data-if="python" style="display:none">find_bar_code</span></code></a>, where the decoding is preceded by a time
consuming search for candidate regions,
<code><span data-if="hdevelop" style="display:inline">decode_bar_code_rectangle2</span><span data-if="c" style="display:none">decode_bar_code_rectangle2</span><span data-if="cpp" style="display:none">DecodeBarCodeRectangle2</span><span data-if="com" style="display:none">DecodeBarCodeRectangle2</span><span data-if="dotnet" style="display:none">DecodeBarCodeRectangle2</span><span data-if="python" style="display:none">decode_bar_code_rectangle2</span></code> scans the provided region directly
for bar codes. The rectangular region is defined by the parameters
<a href="#Row"><i><code><span data-if="hdevelop" style="display:inline">Row</span><span data-if="c" style="display:none">Row</span><span data-if="cpp" style="display:none">Row</span><span data-if="com" style="display:none">Row</span><span data-if="dotnet" style="display:none">row</span><span data-if="python" style="display:none">row</span></code></i></a> and <a href="#Column"><i><code><span data-if="hdevelop" style="display:inline">Column</span><span data-if="c" style="display:none">Column</span><span data-if="cpp" style="display:none">Column</span><span data-if="com" style="display:none">Column</span><span data-if="dotnet" style="display:none">column</span><span data-if="python" style="display:none">column</span></code></i></a> for the center, <a href="#Phi"><i><code><span data-if="hdevelop" style="display:inline">Phi</span><span data-if="c" style="display:none">Phi</span><span data-if="cpp" style="display:none">Phi</span><span data-if="com" style="display:none">Phi</span><span data-if="dotnet" style="display:none">phi</span><span data-if="python" style="display:none">phi</span></code></i></a> for
the orientation and <a href="#Length1"><i><code><span data-if="hdevelop" style="display:inline">Length1</span><span data-if="c" style="display:none">Length1</span><span data-if="cpp" style="display:none">Length1</span><span data-if="com" style="display:none">Length1</span><span data-if="dotnet" style="display:none">length1</span><span data-if="python" style="display:none">length_1</span></code></i></a> and <a href="#Length2"><i><code><span data-if="hdevelop" style="display:inline">Length2</span><span data-if="c" style="display:none">Length2</span><span data-if="cpp" style="display:none">Length2</span><span data-if="com" style="display:none">Length2</span><span data-if="dotnet" style="display:none">length2</span><span data-if="python" style="display:none">length_2</span></code></i></a> for the
half edge lengths (see <a href="gen_rectangle2.html"><code><span data-if="hdevelop" style="display:inline">gen_rectangle2</span><span data-if="c" style="display:none">gen_rectangle2</span><span data-if="cpp" style="display:none">GenRectangle2</span><span data-if="com" style="display:none">GenRectangle2</span><span data-if="dotnet" style="display:none">GenRectangle2</span><span data-if="python" style="display:none">gen_rectangle2</span></code></a>). The angle <a href="#Phi"><i><code><span data-if="hdevelop" style="display:inline">Phi</span><span data-if="c" style="display:none">Phi</span><span data-if="cpp" style="display:none">Phi</span><span data-if="com" style="display:none">Phi</span><span data-if="dotnet" style="display:none">phi</span><span data-if="python" style="display:none">phi</span></code></i></a>
also determines the reading direction and is defined as the angle
between the reading direction of the bar code and the horizontal
image axis. The angle is positive in counter clockwise direction and
is given in radians as in <a href="gen_rectangle2.html"><code><span data-if="hdevelop" style="display:inline">gen_rectangle2</span><span data-if="c" style="display:none">gen_rectangle2</span><span data-if="cpp" style="display:none">GenRectangle2</span><span data-if="com" style="display:none">GenRectangle2</span><span data-if="dotnet" style="display:none">GenRectangle2</span><span data-if="python" style="display:none">gen_rectangle2</span></code></a>. Note that the angle
unit deviates from the conventions in <a href="get_bar_code_result.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_result</span><span data-if="c" style="display:none">get_bar_code_result</span><span data-if="cpp" style="display:none">GetBarCodeResult</span><span data-if="com" style="display:none">GetBarCodeResult</span><span data-if="dotnet" style="display:none">GetBarCodeResult</span><span data-if="python" style="display:none">get_bar_code_result</span></code></a> and
<a href="set_bar_code_param.html"><code><span data-if="hdevelop" style="display:inline">set_bar_code_param</span><span data-if="c" style="display:none">set_bar_code_param</span><span data-if="cpp" style="display:none">SetBarCodeParam</span><span data-if="com" style="display:none">SetBarCodeParam</span><span data-if="dotnet" style="display:none">SetBarCodeParam</span><span data-if="python" style="display:none">set_bar_code_param</span></code></a> where angles are given in degrees.
<a href="#Phi"><i><code><span data-if="hdevelop" style="display:inline">Phi</span><span data-if="c" style="display:none">Phi</span><span data-if="cpp" style="display:none">Phi</span><span data-if="com" style="display:none">Phi</span><span data-if="dotnet" style="display:none">phi</span><span data-if="python" style="display:none">phi</span></code></i></a> can be in the range of
[<span title="1" style="vertical-align:-0.186517em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="6.08214em" height="0.956993em" viewBox="0 0 97.314285 15.311890">
<!-- Original BoundingBox: -48.657150 -7.655945 48.657135 7.655945 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_43">
      <path style="fill-rule: evenodd;" d="M409.000000 -230.000000L688.000000 -230.000000C702.000000 -230.000000,721.000000 -230.000000,721.000000 -250.000000C721.000000 -270.000000,702.000000 -270.000000,688.000000 -270.000000L409.000000 -270.000000L409.000000 -550.000000C409.000000 -564.000000,409.000000 -583.000000,389.000000 -583.000000C369.000000 -583.000000,369.000000 -564.000000,369.000000 -550.000000L369.000000 -270.000000L89.000000 -270.000000C75.000000 -270.000000,56.000000 -270.000000,56.000000 -250.000000C56.000000 -230.000000,75.000000 -230.000000,89.000000 -230.000000L369.000000 -230.000000L369.000000 50.000000C369.000000 64.000000,369.000000 83.000000,389.000000 83.000000C409.000000 83.000000,409.000000 64.000000,409.000000 50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmsy10_0">
      <path style="fill-rule: evenodd;" d="M659.000000 -230.000000C676.000000 -230.000000,694.000000 -230.000000,694.000000 -250.000000C694.000000 -270.000000,676.000000 -270.000000,659.000000 -270.000000L118.000000 -270.000000C101.000000 -270.000000,83.000000 -270.000000,83.000000 -250.000000C83.000000 -230.000000,101.000000 -230.000000,118.000000 -230.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_25">
      <path style="fill-rule: evenodd;" d="M265.000000 -373.000000L378.000000 -373.000000C345.000000 -225.000000,336.000000 -182.000000,336.000000 -115.000000C336.000000 -100.000000,336.000000 -73.000000,344.000000 -39.000000C354.000000 5.000000,365.000000 11.000000,380.000000 11.000000C400.000000 11.000000,421.000000 -7.000000,421.000000 -27.000000C421.000000 -33.000000,421.000000 -35.000000,415.000000 -49.000000C386.000000 -121.000000,386.000000 -186.000000,386.000000 -214.000000C386.000000 -267.000000,393.000000 -321.000000,404.000000 -373.000000L518.000000 -373.000000C531.000000 -373.000000,567.000000 -373.000000,567.000000 -407.000000C567.000000 -431.000000,546.000000 -431.000000,527.000000 -431.000000L192.000000 -431.000000C170.000000 -431.000000,132.000000 -431.000000,88.000000 -384.000000C53.000000 -345.000000,27.000000 -299.000000,27.000000 -294.000000C27.000000 -293.000000,27.000000 -284.000000,39.000000 -284.000000C47.000000 -284.000000,49.000000 -288.000000,55.000000 -296.000000C104.000000 -373.000000,162.000000 -373.000000,182.000000 -373.000000L239.000000 -373.000000C207.000000 -252.000000,153.000000 -131.000000,111.000000 -40.000000C103.000000 -25.000000,103.000000 -23.000000,103.000000 -16.000000C103.000000 3.000000,119.000000 11.000000,132.000000 11.000000C162.000000 11.000000,170.000000 -17.000000,182.000000 -54.000000C196.000000 -100.000000,196.000000 -102.000000,209.000000 -152.000000"></path>
    </g>
    <g transform="scale(0.006974,0.006974)" id="GLYPHcmsy7_48">
      <path style="fill-rule: evenodd;" d="M290.000000 -472.000000C298.000000 -489.000000,299.000000 -497.000000,299.000000 -504.000000C299.000000 -535.000000,271.000000 -559.000000,240.000000 -559.000000C202.000000 -559.000000,190.000000 -528.000000,185.000000 -512.000000L53.000000 -79.000000C52.000000 -77.000000,48.000000 -64.000000,48.000000 -63.000000C48.000000 -51.000000,79.000000 -41.000000,87.000000 -41.000000C94.000000 -41.000000,95.000000 -43.000000,102.000000 -58.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHptmr8r_46">
      <path style="fill-rule: evenodd;" d="M125.000000 -100.000000C95.000000 -100.000000,70.000000 -74.000000,70.000000 -43.000000C70.000000 -14.000000,95.000000 11.000000,124.000000 11.000000C155.000000 11.000000,181.000000 -14.000000,181.000000 -43.000000C181.000000 -74.000000,155.000000 -100.000000,125.000000 -100.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.358841 6.542953)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,8.373123 12.327621)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy10_0"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,24.313354 12.327621)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_25"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,33.971619 6.542953)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,38.443802 12.327621)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,44.819824 12.327621)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,51.195999 12.327621)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHptmr8r_46"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,57.572021 6.542953)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_48"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,65.586456 12.327621)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,81.526672 12.327621)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_25"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,91.184952 6.542953)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmsy7_48"></use>
  </g>
</svg></span>].
The reading direction is perpendicular to the bars of the bar code.
Bar codes with a reading direction
<span title="2" style="vertical-align:-0.193087em" class="math"><!-- Created by MetaPost 1.902 on 2023.05.15:2033 --><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3.74057em" height="0.845132em" viewBox="0 0 59.849167 13.522110">
<!-- Original BoundingBox: -29.924591 -6.761047 29.924576 6.761063 -->
  <defs>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_80">
      <path style="fill-rule: evenodd;" d="M165.000000 -231.000000L296.000000 -231.000000C410.000000 -231.000000,499.000000 -305.000000,499.000000 -398.000000C499.000000 -491.000000,416.000000 -563.000000,310.000000 -563.000000L70.000000 -563.000000C52.000000 -563.000000,43.000000 -556.000000,43.000000 -543.000000C43.000000 -529.000000,52.000000 -522.000000,70.000000 -522.000000L124.000000 -522.000000L124.000000 -41.000000L70.000000 -41.000000C52.000000 -41.000000,43.000000 -34.000000,43.000000 -21.000000C43.000000 -7.000000,52.000000 -0.000000,70.000000 -0.000000L303.000000 -0.000000C321.000000 -0.000000,331.000000 -7.000000,331.000000 -21.000000C331.000000 -34.000000,322.000000 -41.000000,303.000000 -41.000000L165.000000 -41.000000M165.000000 -272.000000L165.000000 -522.000000L314.000000 -522.000000C393.000000 -522.000000,458.000000 -466.000000,458.000000 -398.000000C458.000000 -329.000000,386.000000 -272.000000,299.000000 -272.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_104">
      <path style="fill-rule: evenodd;" d="M165.000000 -604.000000L70.000000 -604.000000C52.000000 -604.000000,43.000000 -597.000000,43.000000 -584.000000C43.000000 -570.000000,52.000000 -563.000000,70.000000 -563.000000L124.000000 -563.000000L124.000000 -41.000000L78.000000 -41.000000C60.000000 -41.000000,51.000000 -34.000000,51.000000 -21.000000C51.000000 -7.000000,61.000000 -0.000000,78.000000 -0.000000L210.000000 -0.000000C228.000000 -0.000000,238.000000 -7.000000,238.000000 -21.000000C238.000000 -34.000000,229.000000 -41.000000,210.000000 -41.000000L165.000000 -41.000000L165.000000 -296.000000L176.000000 -309.000000C230.000000 -373.000000,258.000000 -390.000000,314.000000 -390.000000C354.000000 -390.000000,376.000000 -383.000000,399.000000 -364.000000C424.000000 -344.000000,437.000000 -318.000000,437.000000 -288.000000L437.000000 -41.000000L392.000000 -41.000000C374.000000 -41.000000,365.000000 -34.000000,365.000000 -21.000000C365.000000 -7.000000,374.000000 -0.000000,392.000000 -0.000000L523.000000 -0.000000C542.000000 -0.000000,551.000000 -7.000000,551.000000 -21.000000C551.000000 -34.000000,542.000000 -41.000000,523.000000 -41.000000L478.000000 -41.000000L478.000000 -291.000000C478.000000 -372.000000,412.000000 -431.000000,319.000000 -431.000000C258.000000 -431.000000,216.000000 -408.000000,165.000000 -347.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHpcrr8r_105">
      <path style="fill-rule: evenodd;" d="M320.000000 -417.000000L161.000000 -417.000000C143.000000 -417.000000,134.000000 -410.000000,134.000000 -397.000000C134.000000 -383.000000,143.000000 -376.000000,161.000000 -376.000000L279.000000 -376.000000L279.000000 -41.000000L119.000000 -41.000000C101.000000 -41.000000,92.000000 -34.000000,92.000000 -21.000000C92.000000 -7.000000,101.000000 -0.000000,119.000000 -0.000000L480.000000 -0.000000C498.000000 -0.000000,508.000000 -7.000000,508.000000 -21.000000C508.000000 -34.000000,499.000000 -41.000000,480.000000 -41.000000L320.000000 -41.000000M318.000000 -624.000000L259.000000 -624.000000L259.000000 -520.000000L318.000000 -520.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmr10_43">
      <path style="fill-rule: evenodd;" d="M409.000000 -230.000000L688.000000 -230.000000C702.000000 -230.000000,721.000000 -230.000000,721.000000 -250.000000C721.000000 -270.000000,702.000000 -270.000000,688.000000 -270.000000L409.000000 -270.000000L409.000000 -550.000000C409.000000 -564.000000,409.000000 -583.000000,389.000000 -583.000000C369.000000 -583.000000,369.000000 -564.000000,369.000000 -550.000000L369.000000 -270.000000L89.000000 -270.000000C75.000000 -270.000000,56.000000 -270.000000,56.000000 -250.000000C56.000000 -230.000000,75.000000 -230.000000,89.000000 -230.000000L369.000000 -230.000000L369.000000 50.000000C369.000000 64.000000,369.000000 83.000000,389.000000 83.000000C409.000000 83.000000,409.000000 64.000000,409.000000 50.000000"></path>
    </g>
    <g transform="scale(0.009963,0.009963)" id="GLYPHcmmi10_25">
      <path style="fill-rule: evenodd;" d="M265.000000 -373.000000L378.000000 -373.000000C345.000000 -225.000000,336.000000 -182.000000,336.000000 -115.000000C336.000000 -100.000000,336.000000 -73.000000,344.000000 -39.000000C354.000000 5.000000,365.000000 11.000000,380.000000 11.000000C400.000000 11.000000,421.000000 -7.000000,421.000000 -27.000000C421.000000 -33.000000,421.000000 -35.000000,415.000000 -49.000000C386.000000 -121.000000,386.000000 -186.000000,386.000000 -214.000000C386.000000 -267.000000,393.000000 -321.000000,404.000000 -373.000000L518.000000 -373.000000C531.000000 -373.000000,567.000000 -373.000000,567.000000 -407.000000C567.000000 -431.000000,546.000000 -431.000000,527.000000 -431.000000L192.000000 -431.000000C170.000000 -431.000000,132.000000 -431.000000,88.000000 -384.000000C53.000000 -345.000000,27.000000 -299.000000,27.000000 -294.000000C27.000000 -293.000000,27.000000 -284.000000,39.000000 -284.000000C47.000000 -284.000000,49.000000 -288.000000,55.000000 -296.000000C104.000000 -373.000000,162.000000 -373.000000,182.000000 -373.000000L239.000000 -373.000000C207.000000 -252.000000,153.000000 -131.000000,111.000000 -40.000000C103.000000 -25.000000,103.000000 -23.000000,103.000000 -16.000000C103.000000 3.000000,119.000000 11.000000,132.000000 11.000000C162.000000 11.000000,170.000000 -17.000000,182.000000 -54.000000C196.000000 -100.000000,196.000000 -102.000000,209.000000 -152.000000"></path>
    </g>
  </defs>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,0.091400 10.432724)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHpcrr8r_80"></use>
    <use xlink:href="#GLYPHpcrr8r_104" x="6.000092"></use>
    <use xlink:href="#GLYPHpcrr8r_105" x="12.000185"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,32.326096 10.432724)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmr10_43"></use>
  </g>
  <g transform="matrix(1.600006,-0.000000,-0.000000,1.600006,48.266312 10.432724)" style="fill: rgb(0.000000%,0.000000%,0.000000%);">
    <use xlink:href="#GLYPHcmmi10_25"></use>
  </g>
</svg></span> are also returned.
Multiple regions for decoding can be given by supplying tuples for
<a href="#Row"><i><code><span data-if="hdevelop" style="display:inline">Row</span><span data-if="c" style="display:none">Row</span><span data-if="cpp" style="display:none">Row</span><span data-if="com" style="display:none">Row</span><span data-if="dotnet" style="display:none">row</span><span data-if="python" style="display:none">row</span></code></i></a>, <a href="#Column"><i><code><span data-if="hdevelop" style="display:inline">Column</span><span data-if="c" style="display:none">Column</span><span data-if="cpp" style="display:none">Column</span><span data-if="com" style="display:none">Column</span><span data-if="dotnet" style="display:none">column</span><span data-if="python" style="display:none">column</span></code></i></a>, <a href="#Phi"><i><code><span data-if="hdevelop" style="display:inline">Phi</span><span data-if="c" style="display:none">Phi</span><span data-if="cpp" style="display:none">Phi</span><span data-if="com" style="display:none">Phi</span><span data-if="dotnet" style="display:none">phi</span><span data-if="python" style="display:none">phi</span></code></i></a>, <a href="#Length1"><i><code><span data-if="hdevelop" style="display:inline">Length1</span><span data-if="c" style="display:none">Length1</span><span data-if="cpp" style="display:none">Length1</span><span data-if="com" style="display:none">Length1</span><span data-if="dotnet" style="display:none">length1</span><span data-if="python" style="display:none">length_1</span></code></i></a> and
<a href="#Length2"><i><code><span data-if="hdevelop" style="display:inline">Length2</span><span data-if="c" style="display:none">Length2</span><span data-if="cpp" style="display:none">Length2</span><span data-if="com" style="display:none">Length2</span><span data-if="dotnet" style="display:none">length2</span><span data-if="python" style="display:none">length_2</span></code></i></a>.
</p>
<p>The rectangle should cover completely the bar code and the quiet zones.
Regions that are too big will be decoded, if there is no disturbing
pattern within these regions and the height (<a href="#Length2"><i><code><span data-if="hdevelop" style="display:inline">Length2</span><span data-if="c" style="display:none">Length2</span><span data-if="cpp" style="display:none">Length2</span><span data-if="com" style="display:none">Length2</span><span data-if="dotnet" style="display:none">length2</span><span data-if="python" style="display:none">length_2</span></code></i></a>) is
small enough such that scanlines can be placed sufficiently dense.
Rectangles that are too short in reading direction (<a href="#Length1"><i><code><span data-if="hdevelop" style="display:inline">Length1</span><span data-if="c" style="display:none">Length1</span><span data-if="cpp" style="display:none">Length1</span><span data-if="com" style="display:none">Length1</span><span data-if="dotnet" style="display:none">length1</span><span data-if="python" style="display:none">length_1</span></code></i></a>)
cannot be decoded.
</p>
<p><code><span data-if="hdevelop" style="display:inline">decode_bar_code_rectangle2</span><span data-if="c" style="display:none">decode_bar_code_rectangle2</span><span data-if="cpp" style="display:none">DecodeBarCodeRectangle2</span><span data-if="com" style="display:none">DecodeBarCodeRectangle2</span><span data-if="dotnet" style="display:none">DecodeBarCodeRectangle2</span><span data-if="python" style="display:none">decode_bar_code_rectangle2</span></code> can be used if the position of
the bar code is already known in advance. For example, the candidate
regions found by <a href="find_bar_code.html"><code><span data-if="hdevelop" style="display:inline">find_bar_code</span><span data-if="c" style="display:none">find_bar_code</span><span data-if="cpp" style="display:none">FindBarCode</span><span data-if="com" style="display:none">FindBarCode</span><span data-if="dotnet" style="display:none">FindBarCode</span><span data-if="python" style="display:none">find_bar_code</span></code></a> and <a href="get_bar_code_object.html"><code><span data-if="hdevelop" style="display:inline">get_bar_code_object</span><span data-if="c" style="display:none">get_bar_code_object</span><span data-if="cpp" style="display:none">GetBarCodeObject</span><span data-if="com" style="display:none">GetBarCodeObject</span><span data-if="dotnet" style="display:none">GetBarCodeObject</span><span data-if="python" style="display:none">get_bar_code_object</span></code></a>
could be reused with a different code type (see the following example).
</p>
<p>Multiple bar code types can be specified for <a href="#CodeType"><i><code><span data-if="hdevelop" style="display:inline">CodeType</span><span data-if="c" style="display:none">CodeType</span><span data-if="cpp" style="display:none">CodeType</span><span data-if="com" style="display:none">CodeType</span><span data-if="dotnet" style="display:none">codeType</span><span data-if="python" style="display:none">code_type</span></code></i></a>. See
section Autodiscrimination for <a href="find_bar_code.html"><code><span data-if="hdevelop" style="display:inline">find_bar_code</span><span data-if="c" style="display:none">find_bar_code</span><span data-if="cpp" style="display:none">FindBarCode</span><span data-if="com" style="display:none">FindBarCode</span><span data-if="dotnet" style="display:none">FindBarCode</span><span data-if="python" style="display:none">find_bar_code</span></code></a>.
</p>
<p>Further aspects of the actual decoding are explained with 该算子
<a href="find_bar_code.html"><code><span data-if="hdevelop" style="display:inline">find_bar_code</span><span data-if="c" style="display:none">find_bar_code</span><span data-if="cpp" style="display:none">FindBarCode</span><span data-if="com" style="display:none">FindBarCode</span><span data-if="dotnet" style="display:none">FindBarCode</span><span data-if="python" style="display:none">find_bar_code</span></code></a>.
</p>
<h2 id="sec_execution">运行信息</h2>
<ul>
  <li>多线程类型:可重入(与非独占操作符并行运行)。</li>
<li>多线程作用域:全局(可以从任何线程调用)。</li>
  
    <li>Automatically parallelized on internal data level.</li>
  
</ul>
<p>This operator supports canceling timeouts and interrupts.</p>
<p>This operator modifies the state of the following input parameter:</p>
<ul><li><a href="#BarCodeHandle"><span data-if="hdevelop" style="display:inline">BarCodeHandle</span><span data-if="c" style="display:none">BarCodeHandle</span><span data-if="cpp" style="display:none">BarCodeHandle</span><span data-if="com" style="display:none">BarCodeHandle</span><span data-if="dotnet" style="display:none">barCodeHandle</span><span data-if="python" style="display:none">bar_code_handle</span></a></li></ul>
<p>During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.</p>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="Image" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Image</span><span data-if="c" style="display:none">Image</span><span data-if="cpp" style="display:none">Image</span><span data-if="com" style="display:none">Image</span><span data-if="dotnet" style="display:none">image</span><span data-if="python" style="display:none">image</span></code></b> (input_object)  </span><span>singlechannelimage <code>→</code> <span data-if="hdevelop" style="display:inline">object</span><span data-if="dotnet" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="python" style="display:none">HObject</span><span data-if="cpp" style="display:none"><a href="HImage.html">HImage</a></span><span data-if="c" style="display:none">Hobject</span> (byte)</span>
</div>
<p class="pardesc">Input image.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="BarCodeHandle" class="parname"><b><code><span data-if="hdevelop" style="display:inline">BarCodeHandle</span><span data-if="c" style="display:none">BarCodeHandle</span><span data-if="cpp" style="display:none">BarCodeHandle</span><span data-if="com" style="display:none">BarCodeHandle</span><span data-if="dotnet" style="display:none">barCodeHandle</span><span data-if="python" style="display:none">bar_code_handle</span></code></b> (input_control, state is modified)  </span><span>barcode <code>→</code> <span data-if="dotnet" style="display:none"><a href="HBarCode.html">HBarCode</a>, </span><span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">HHandle</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (handle)</span><span data-if="dotnet" style="display:none"> (<i>IntPtr</i>)</span><span data-if="cpp" style="display:none"> (<i>HHandle</i>)</span><span data-if="c" style="display:none"> (<i>handle</i>)</span></span>
</div>
<p class="pardesc">Handle of the bar code model.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="CodeType" class="parname"><b><code><span data-if="hdevelop" style="display:inline">CodeType</span><span data-if="c" style="display:none">CodeType</span><span data-if="cpp" style="display:none">CodeType</span><span data-if="com" style="display:none">CodeType</span><span data-if="dotnet" style="display:none">codeType</span><span data-if="python" style="display:none">code_type</span></code></b> (input_control)  </span><span>string(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Type of the searched bar code.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'EAN-13'</span>
    <span data-if="c" style="display:none">"EAN-13"</span>
    <span data-if="cpp" style="display:none">"EAN-13"</span>
    <span data-if="com" style="display:none">"EAN-13"</span>
    <span data-if="dotnet" style="display:none">"EAN-13"</span>
    <span data-if="python" style="display:none">"EAN-13"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'2/5 Industrial'</span><span data-if="c" style="display:none">"2/5 Industrial"</span><span data-if="cpp" style="display:none">"2/5 Industrial"</span><span data-if="com" style="display:none">"2/5 Industrial"</span><span data-if="dotnet" style="display:none">"2/5 Industrial"</span><span data-if="python" style="display:none">"2/5 Industrial"</span>, <span data-if="hdevelop" style="display:inline">'2/5 Interleaved'</span><span data-if="c" style="display:none">"2/5 Interleaved"</span><span data-if="cpp" style="display:none">"2/5 Interleaved"</span><span data-if="com" style="display:none">"2/5 Interleaved"</span><span data-if="dotnet" style="display:none">"2/5 Interleaved"</span><span data-if="python" style="display:none">"2/5 Interleaved"</span>, <span data-if="hdevelop" style="display:inline">'Codabar'</span><span data-if="c" style="display:none">"Codabar"</span><span data-if="cpp" style="display:none">"Codabar"</span><span data-if="com" style="display:none">"Codabar"</span><span data-if="dotnet" style="display:none">"Codabar"</span><span data-if="python" style="display:none">"Codabar"</span>, <span data-if="hdevelop" style="display:inline">'Code 128'</span><span data-if="c" style="display:none">"Code 128"</span><span data-if="cpp" style="display:none">"Code 128"</span><span data-if="com" style="display:none">"Code 128"</span><span data-if="dotnet" style="display:none">"Code 128"</span><span data-if="python" style="display:none">"Code 128"</span>, <span data-if="hdevelop" style="display:inline">'Code 39'</span><span data-if="c" style="display:none">"Code 39"</span><span data-if="cpp" style="display:none">"Code 39"</span><span data-if="com" style="display:none">"Code 39"</span><span data-if="dotnet" style="display:none">"Code 39"</span><span data-if="python" style="display:none">"Code 39"</span>, <span data-if="hdevelop" style="display:inline">'Code 93'</span><span data-if="c" style="display:none">"Code 93"</span><span data-if="cpp" style="display:none">"Code 93"</span><span data-if="com" style="display:none">"Code 93"</span><span data-if="dotnet" style="display:none">"Code 93"</span><span data-if="python" style="display:none">"Code 93"</span>, <span data-if="hdevelop" style="display:inline">'EAN-13 Add-On 2'</span><span data-if="c" style="display:none">"EAN-13 Add-On 2"</span><span data-if="cpp" style="display:none">"EAN-13 Add-On 2"</span><span data-if="com" style="display:none">"EAN-13 Add-On 2"</span><span data-if="dotnet" style="display:none">"EAN-13 Add-On 2"</span><span data-if="python" style="display:none">"EAN-13 Add-On 2"</span>, <span data-if="hdevelop" style="display:inline">'EAN-13 Add-On 5'</span><span data-if="c" style="display:none">"EAN-13 Add-On 5"</span><span data-if="cpp" style="display:none">"EAN-13 Add-On 5"</span><span data-if="com" style="display:none">"EAN-13 Add-On 5"</span><span data-if="dotnet" style="display:none">"EAN-13 Add-On 5"</span><span data-if="python" style="display:none">"EAN-13 Add-On 5"</span>, <span data-if="hdevelop" style="display:inline">'EAN-13'</span><span data-if="c" style="display:none">"EAN-13"</span><span data-if="cpp" style="display:none">"EAN-13"</span><span data-if="com" style="display:none">"EAN-13"</span><span data-if="dotnet" style="display:none">"EAN-13"</span><span data-if="python" style="display:none">"EAN-13"</span>, <span data-if="hdevelop" style="display:inline">'EAN-8 Add-On 2'</span><span data-if="c" style="display:none">"EAN-8 Add-On 2"</span><span data-if="cpp" style="display:none">"EAN-8 Add-On 2"</span><span data-if="com" style="display:none">"EAN-8 Add-On 2"</span><span data-if="dotnet" style="display:none">"EAN-8 Add-On 2"</span><span data-if="python" style="display:none">"EAN-8 Add-On 2"</span>, <span data-if="hdevelop" style="display:inline">'EAN-8 Add-On 5'</span><span data-if="c" style="display:none">"EAN-8 Add-On 5"</span><span data-if="cpp" style="display:none">"EAN-8 Add-On 5"</span><span data-if="com" style="display:none">"EAN-8 Add-On 5"</span><span data-if="dotnet" style="display:none">"EAN-8 Add-On 5"</span><span data-if="python" style="display:none">"EAN-8 Add-On 5"</span>, <span data-if="hdevelop" style="display:inline">'EAN-8'</span><span data-if="c" style="display:none">"EAN-8"</span><span data-if="cpp" style="display:none">"EAN-8"</span><span data-if="com" style="display:none">"EAN-8"</span><span data-if="dotnet" style="display:none">"EAN-8"</span><span data-if="python" style="display:none">"EAN-8"</span>, <span data-if="hdevelop" style="display:inline">'GS1 DataBar Expanded Stacked'</span><span data-if="c" style="display:none">"GS1 DataBar Expanded Stacked"</span><span data-if="cpp" style="display:none">"GS1 DataBar Expanded Stacked"</span><span data-if="com" style="display:none">"GS1 DataBar Expanded Stacked"</span><span data-if="dotnet" style="display:none">"GS1 DataBar Expanded Stacked"</span><span data-if="python" style="display:none">"GS1 DataBar Expanded Stacked"</span>, <span data-if="hdevelop" style="display:inline">'GS1 DataBar Expanded'</span><span data-if="c" style="display:none">"GS1 DataBar Expanded"</span><span data-if="cpp" style="display:none">"GS1 DataBar Expanded"</span><span data-if="com" style="display:none">"GS1 DataBar Expanded"</span><span data-if="dotnet" style="display:none">"GS1 DataBar Expanded"</span><span data-if="python" style="display:none">"GS1 DataBar Expanded"</span>, <span data-if="hdevelop" style="display:inline">'GS1 DataBar Limited'</span><span data-if="c" style="display:none">"GS1 DataBar Limited"</span><span data-if="cpp" style="display:none">"GS1 DataBar Limited"</span><span data-if="com" style="display:none">"GS1 DataBar Limited"</span><span data-if="dotnet" style="display:none">"GS1 DataBar Limited"</span><span data-if="python" style="display:none">"GS1 DataBar Limited"</span>, <span data-if="hdevelop" style="display:inline">'GS1 DataBar Omnidir'</span><span data-if="c" style="display:none">"GS1 DataBar Omnidir"</span><span data-if="cpp" style="display:none">"GS1 DataBar Omnidir"</span><span data-if="com" style="display:none">"GS1 DataBar Omnidir"</span><span data-if="dotnet" style="display:none">"GS1 DataBar Omnidir"</span><span data-if="python" style="display:none">"GS1 DataBar Omnidir"</span>, <span data-if="hdevelop" style="display:inline">'GS1 DataBar Stacked Omnidir'</span><span data-if="c" style="display:none">"GS1 DataBar Stacked Omnidir"</span><span data-if="cpp" style="display:none">"GS1 DataBar Stacked Omnidir"</span><span data-if="com" style="display:none">"GS1 DataBar Stacked Omnidir"</span><span data-if="dotnet" style="display:none">"GS1 DataBar Stacked Omnidir"</span><span data-if="python" style="display:none">"GS1 DataBar Stacked Omnidir"</span>, <span data-if="hdevelop" style="display:inline">'GS1 DataBar Stacked'</span><span data-if="c" style="display:none">"GS1 DataBar Stacked"</span><span data-if="cpp" style="display:none">"GS1 DataBar Stacked"</span><span data-if="com" style="display:none">"GS1 DataBar Stacked"</span><span data-if="dotnet" style="display:none">"GS1 DataBar Stacked"</span><span data-if="python" style="display:none">"GS1 DataBar Stacked"</span>, <span data-if="hdevelop" style="display:inline">'GS1 DataBar Truncated'</span><span data-if="c" style="display:none">"GS1 DataBar Truncated"</span><span data-if="cpp" style="display:none">"GS1 DataBar Truncated"</span><span data-if="com" style="display:none">"GS1 DataBar Truncated"</span><span data-if="dotnet" style="display:none">"GS1 DataBar Truncated"</span><span data-if="python" style="display:none">"GS1 DataBar Truncated"</span>, <span data-if="hdevelop" style="display:inline">'GS1-128'</span><span data-if="c" style="display:none">"GS1-128"</span><span data-if="cpp" style="display:none">"GS1-128"</span><span data-if="com" style="display:none">"GS1-128"</span><span data-if="dotnet" style="display:none">"GS1-128"</span><span data-if="python" style="display:none">"GS1-128"</span>, <span data-if="hdevelop" style="display:inline">'MSI'</span><span data-if="c" style="display:none">"MSI"</span><span data-if="cpp" style="display:none">"MSI"</span><span data-if="com" style="display:none">"MSI"</span><span data-if="dotnet" style="display:none">"MSI"</span><span data-if="python" style="display:none">"MSI"</span>, <span data-if="hdevelop" style="display:inline">'PharmaCode'</span><span data-if="c" style="display:none">"PharmaCode"</span><span data-if="cpp" style="display:none">"PharmaCode"</span><span data-if="com" style="display:none">"PharmaCode"</span><span data-if="dotnet" style="display:none">"PharmaCode"</span><span data-if="python" style="display:none">"PharmaCode"</span>, <span data-if="hdevelop" style="display:inline">'UPC-A Add-On 2'</span><span data-if="c" style="display:none">"UPC-A Add-On 2"</span><span data-if="cpp" style="display:none">"UPC-A Add-On 2"</span><span data-if="com" style="display:none">"UPC-A Add-On 2"</span><span data-if="dotnet" style="display:none">"UPC-A Add-On 2"</span><span data-if="python" style="display:none">"UPC-A Add-On 2"</span>, <span data-if="hdevelop" style="display:inline">'UPC-A Add-On 5'</span><span data-if="c" style="display:none">"UPC-A Add-On 5"</span><span data-if="cpp" style="display:none">"UPC-A Add-On 5"</span><span data-if="com" style="display:none">"UPC-A Add-On 5"</span><span data-if="dotnet" style="display:none">"UPC-A Add-On 5"</span><span data-if="python" style="display:none">"UPC-A Add-On 5"</span>, <span data-if="hdevelop" style="display:inline">'UPC-A'</span><span data-if="c" style="display:none">"UPC-A"</span><span data-if="cpp" style="display:none">"UPC-A"</span><span data-if="com" style="display:none">"UPC-A"</span><span data-if="dotnet" style="display:none">"UPC-A"</span><span data-if="python" style="display:none">"UPC-A"</span>, <span data-if="hdevelop" style="display:inline">'UPC-E Add-On 2'</span><span data-if="c" style="display:none">"UPC-E Add-On 2"</span><span data-if="cpp" style="display:none">"UPC-E Add-On 2"</span><span data-if="com" style="display:none">"UPC-E Add-On 2"</span><span data-if="dotnet" style="display:none">"UPC-E Add-On 2"</span><span data-if="python" style="display:none">"UPC-E Add-On 2"</span>, <span data-if="hdevelop" style="display:inline">'UPC-E Add-On 5'</span><span data-if="c" style="display:none">"UPC-E Add-On 5"</span><span data-if="cpp" style="display:none">"UPC-E Add-On 5"</span><span data-if="com" style="display:none">"UPC-E Add-On 5"</span><span data-if="dotnet" style="display:none">"UPC-E Add-On 5"</span><span data-if="python" style="display:none">"UPC-E Add-On 5"</span>, <span data-if="hdevelop" style="display:inline">'UPC-E'</span><span data-if="c" style="display:none">"UPC-E"</span><span data-if="cpp" style="display:none">"UPC-E"</span><span data-if="com" style="display:none">"UPC-E"</span><span data-if="dotnet" style="display:none">"UPC-E"</span><span data-if="python" style="display:none">"UPC-E"</span>, <span data-if="hdevelop" style="display:inline">'auto'</span><span data-if="c" style="display:none">"auto"</span><span data-if="cpp" style="display:none">"auto"</span><span data-if="com" style="display:none">"auto"</span><span data-if="dotnet" style="display:none">"auto"</span><span data-if="python" style="display:none">"auto"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Row" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Row</span><span data-if="c" style="display:none">Row</span><span data-if="cpp" style="display:none">Row</span><span data-if="com" style="display:none">Row</span><span data-if="dotnet" style="display:none">row</span><span data-if="python" style="display:none">row</span></code></b> (input_control)  </span><span>rectangle2.center.y(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[int, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Row index of the center.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>50.0</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Column" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Column</span><span data-if="c" style="display:none">Column</span><span data-if="cpp" style="display:none">Column</span><span data-if="com" style="display:none">Column</span><span data-if="dotnet" style="display:none">column</span><span data-if="python" style="display:none">column</span></code></b> (input_control)  </span><span>rectangle2.center.x(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[int, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Column index of the center.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>100.0</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Phi" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Phi</span><span data-if="c" style="display:none">Phi</span><span data-if="cpp" style="display:none">Phi</span><span data-if="com" style="display:none">Phi</span><span data-if="dotnet" style="display:none">phi</span><span data-if="python" style="display:none">phi</span></code></b> (input_control)  </span><span>rectangle2.angle.rad(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[int, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Orientation of rectangle in radians.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>0.0</p>
<p class="pardesc"><span class="parcat">Suggested values:
      </span>0.0, 0.785398, 1.570796, 3.1415926</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Length1" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Length1</span><span data-if="c" style="display:none">Length1</span><span data-if="cpp" style="display:none">Length1</span><span data-if="com" style="display:none">Length1</span><span data-if="dotnet" style="display:none">length1</span><span data-if="python" style="display:none">length_1</span></code></b> (input_control)  </span><span>rectangle2.hwidth(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[int, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Half of the length of the rectangle along the reading
direction of the bar code.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>200.0</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Length2" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Length2</span><span data-if="c" style="display:none">Length2</span><span data-if="cpp" style="display:none">Length2</span><span data-if="com" style="display:none">Length2</span><span data-if="dotnet" style="display:none">length2</span><span data-if="python" style="display:none">length_2</span></code></b> (input_control)  </span><span>rectangle2.hheight(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[Union[int, float]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (real / </span><span data-if="hdevelop" style="display:inline">integer)</span><span data-if="dotnet" style="display:none"> (<i>double</i> / </span><span data-if="dotnet" style="display:none">int / </span><span data-if="dotnet" style="display:none">long)</span><span data-if="cpp" style="display:none"> (<i>double</i> / </span><span data-if="cpp" style="display:none">Hlong)</span><span data-if="c" style="display:none"> (<i>double</i> / </span><span data-if="c" style="display:none">Hlong)</span></span>
</div>
<p class="pardesc">Half of the length of the rectangle perpendicular to
the reading direction of the bar code.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>100.0</p>
</div>
  <div class="par">
<div class="parhead">
<span id="DecodedDataStrings" class="parname"><b><code><span data-if="hdevelop" style="display:inline">DecodedDataStrings</span><span data-if="c" style="display:none">DecodedDataStrings</span><span data-if="cpp" style="display:none">DecodedDataStrings</span><span data-if="com" style="display:none">DecodedDataStrings</span><span data-if="dotnet" style="display:none">decodedDataStrings</span><span data-if="python" style="display:none">decoded_data_strings</span></code></b> (output_control)  </span><span>string(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Data strings of all successfully decoded bar codes.</p>
</div>
<h2 id="sec_example_all">例程 (HDevelop)</h2>
<pre class="example">
read_image (Image, 'barcode/ean13/ean1301.png')
create_bar_code_model ([], [], BHandle)
find_bar_code (Image, SymReg, BHandle, '2/5 Industrial', Dec)
if (|Dec| == 0)
*     A 2/5 Industrial code wasn't found. Try decoding an EAN-13 code.
    get_bar_code_object (CandReg, BHandle, 'all', 'candidate_regions')
    smallest_rectangle2 (CandReg, R, C, Phi, L1, L2)
    decode_bar_code_rectangle2 (Image, BHandle, 'EAN-13', R, C, Phi, \
                                L1, L2, Dec)
endif
</pre>
<h2 id="sec_result">结果</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">decode_bar_code_rectangle2</span><span data-if="c" style="display:none">decode_bar_code_rectangle2</span><span data-if="cpp" style="display:none">DecodeBarCodeRectangle2</span><span data-if="com" style="display:none">DecodeBarCodeRectangle2</span><span data-if="dotnet" style="display:none">DecodeBarCodeRectangle2</span><span data-if="python" style="display:none">decode_bar_code_rectangle2</span></code> 返回值 <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    
if the given parameters are correct.
Otherwise, an exception will be raised.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="create_bar_code_model.html"><span data-if="hdevelop" style="display:inline">create_bar_code_model</span><span data-if="c" style="display:none">create_bar_code_model</span><span data-if="cpp" style="display:none">CreateBarCodeModel</span><span data-if="com" style="display:none">CreateBarCodeModel</span><span data-if="dotnet" style="display:none">CreateBarCodeModel</span><span data-if="python" style="display:none">create_bar_code_model</span></a></code>, 
<code><a href="set_bar_code_param.html"><span data-if="hdevelop" style="display:inline">set_bar_code_param</span><span data-if="c" style="display:none">set_bar_code_param</span><span data-if="cpp" style="display:none">SetBarCodeParam</span><span data-if="com" style="display:none">SetBarCodeParam</span><span data-if="dotnet" style="display:none">SetBarCodeParam</span><span data-if="python" style="display:none">set_bar_code_param</span></a></code>, 
<code><a href="smallest_rectangle2.html"><span data-if="hdevelop" style="display:inline">smallest_rectangle2</span><span data-if="c" style="display:none">smallest_rectangle2</span><span data-if="cpp" style="display:none">SmallestRectangle2</span><span data-if="com" style="display:none">SmallestRectangle2</span><span data-if="dotnet" style="display:none">SmallestRectangle2</span><span data-if="python" style="display:none">smallest_rectangle2</span></a></code>
</p>
<h2 id="sec_successors">可能的后置算子</h2>
<p>
<code><a href="get_bar_code_result.html"><span data-if="hdevelop" style="display:inline">get_bar_code_result</span><span data-if="c" style="display:none">get_bar_code_result</span><span data-if="cpp" style="display:none">GetBarCodeResult</span><span data-if="com" style="display:none">GetBarCodeResult</span><span data-if="dotnet" style="display:none">GetBarCodeResult</span><span data-if="python" style="display:none">get_bar_code_result</span></a></code>, 
<code><a href="get_bar_code_object.html"><span data-if="hdevelop" style="display:inline">get_bar_code_object</span><span data-if="c" style="display:none">get_bar_code_object</span><span data-if="cpp" style="display:none">GetBarCodeObject</span><span data-if="com" style="display:none">GetBarCodeObject</span><span data-if="dotnet" style="display:none">GetBarCodeObject</span><span data-if="python" style="display:none">get_bar_code_object</span></a></code>, 
<code><a href="clear_bar_code_model.html"><span data-if="hdevelop" style="display:inline">clear_bar_code_model</span><span data-if="c" style="display:none">clear_bar_code_model</span><span data-if="cpp" style="display:none">ClearBarCodeModel</span><span data-if="com" style="display:none">ClearBarCodeModel</span><span data-if="dotnet" style="display:none">ClearBarCodeModel</span><span data-if="python" style="display:none">clear_bar_code_model</span></a></code>
</p>
<h2 id="sec_alternatives">可替代算子</h2>
<p>
<code><a href="find_bar_code.html"><span data-if="hdevelop" style="display:inline">find_bar_code</span><span data-if="c" style="display:none">find_bar_code</span><span data-if="cpp" style="display:none">FindBarCode</span><span data-if="com" style="display:none">FindBarCode</span><span data-if="dotnet" style="display:none">FindBarCode</span><span data-if="python" style="display:none">find_bar_code</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="gen_rectangle2.html"><span data-if="hdevelop" style="display:inline">gen_rectangle2</span><span data-if="c" style="display:none">gen_rectangle2</span><span data-if="cpp" style="display:none">GenRectangle2</span><span data-if="com" style="display:none">GenRectangle2</span><span data-if="dotnet" style="display:none">GenRectangle2</span><span data-if="python" style="display:none">gen_rectangle2</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Bar Code</p>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
